/**
@brief module complementaire pour IA.
Ce module est utilisé pour calculer un plus court chemin
@file chemin.h
@date 2012/06/07
*/

#ifndef __CHEMIN__H
#define __CHEMIN__H

/**
\struct chemin chemin.h
@brief case contenant un numero et la direction associé (utilisé pour l'IA)
*/
struct chemin {
    int num;
    char deplacement;
};
typedef struct chemin chemin;

/**
@brief initialise un tableau de chemin de taille x*y
@param[in,out] tab tableau de chemin
@param[in] x entier
@param[in] y entier
@return none
*/
void initNumCheminTab(chemin** tab, const int x, const int y);

/**
@brief rempli le tableau en indiquant la distance entre la position x,y et chaque case, ainsi que la direction à prendre
@param[in] tab1 tableau de caracteres
@param[in,out] tab tableau de chemin
@param[in] x entier
@param[in] y entier
@param[in] n entier
@param[in] c caractere
@param[in] strategie entier (attaque/defense)
@return none
*/
void remplirNumCheminTab(char** tab1, chemin** tab2,
                         const int x, const int y, const int n, const char c, const int strategie);
/* strategie = 1 si attaque, 0 sinon */

/**
@brief valeur absolue de x
@param[in] x entier
@return entier
*/
int valeurAbs (const int x);

#endif
